草庐IT

PHPUnit 和 CodeIgniter

全部标签

php - Codeigniter Rest 服务器摘要或基本身份验证无法登录

我正在使用PhilSturgeon的REST服务器。我在设置基本或摘要身份验证时遇到问题。调用该方法时,我会看到提示输入用户名和密码的对话框,即使我输入了正确的用户名和密码,它也不会接受。我该如何解决这个问题?是我的虚拟主机不允许吗?这就是我在rest.php中设置身份验证的方式:其余默认。$config['rest_auth']='Basic';$config['auth_source']='';$config['rest_valid_logins']=array('admin'=>'password'); 最佳答案 我自己找到了

php - codeigniter - 在 Controller 中使用助手不起作用

我需要在多个Controller中使用一个函数。所以我虽然考虑使用自定义助手,但似乎我无法让它工作。(它在View中工作,但我需要它在Controller中)它给了我以下fatalerror:Fatalerror:CalltoundefinedmethodDevelopers::checkIfLoggedIn()in/application/controllers/developers.phponline12使用助手在多个Controller中使用一个函数是明智之举,还是我应该不这样做。提前致谢,标记编辑:Controller文件:if(!defined('BASEPATH'))exi

php - 在 Codeigniter 3 中扩展 session 库

我使用CI有一段时间了,最​​近升级到CI3。我注意到session库现在已移到一个文件夹中。我曾经在扩展默认CI库的application/libraries文件夹中有自己的MY_Session.php文件。我还使用autoload.php文件来自动加载我的session库。这不再有效,因为我无法加载请求的类:session。如果我删除MY_Session.php文件,那么页面会加载,但我将失去我的扩展功能。有谁知道如何在CI3中扩展session库? 最佳答案 为了完整起见,因为3.0早就发布了:如果你想扩展Session类,你

php - CodeIgniter 的 ci_sessions 是否需要偶尔清空?

我正在使用与数据库相关的CIsession。所以我们所有的session都在我们数据库的这个ci_sessions表中,考虑到session_id每5分钟更改一次,它可以获得很多行。我们是否需要清空表格,比如说每个月/每周一次? 最佳答案 虽然@Marc-Audet所说的是真的,但如果您看一下代码,您会发现这是一种非常糟糕的清理session的方法。构造器每次启动时都会调用_sess_gc函数。所以,基本上每个请求到你的服务器,如果你有它自动加载。然后,它会生成一个低于100的随机数,并查看它是否低于某个值(默认为5)。如果满足此条

php - 没有在 PHPUnit 中运行一些测试?

我不想有时为了节省时间而运行所有测试。我知道我可以评论测试。但是这种方法并不优雅。我想知道是否有一些简单的方法可以做到这一点。感谢所有建议。感谢您的宝贵时间和最诚挚的问候,盒子他 最佳答案 phpunitcommandlinetestrunner有--filter参数,它是一个匹配执行的测试用例名称的正则表达式。假设,您需要排除名称中包含“Foo”的所有测试用例。然后,使用:--filter/^(?:(?!Foo).)*$/ 关于php-没有在PHPUnit中运行一些测试?,我们在Sta

php - 在 Codeigniter 中处理发布数据的好方法是什么?

即你会推荐我使用这样的Controller方法吗:functionsave(){if(!is_bool($this->input->post(''))){$post_data=$this->input->post('');$this->mymodel->save($post_data);}$this->load->view('myview');}或者您会推荐使用两种方法来编写它吗?functionsave(){if(!is_bool($this->input->post(''))){$post_data=$this->input->post('');$this->mymodel->sa

php - 如何使用 PHPUnit 获得 100% 的代码覆盖率

我正在编写ZendFramework应用程序并使用PHPUnit对其进行单元测试。总的来说,事情进展顺利,但我有一个小但烦人的PHPUnit和代码覆盖问题-它有时会告诉我特定行未测试,我不知道如何强制对其进行测试。例如,在下面的代码中,我启动了两个测试:一个带有GET请求,一个带有POST请求。测试通过,一切都很好。然而,当我查看代码覆盖率时,它显示“else”行没有执行。publicfunctioneditAction(){if($request->isPost()){//doactionsrelatedtoPOST}else{//doactionrelatedtoGET}}有什么想

php - codeigniter 调整图像大小并创建缩略图

您好,根据ci文档,您可以使用image_lib调整图像大小,并且有一些选项建议我们可以从该图像创建其他缩略图create_thumbFALSETRUE/FALSE(boolean)Tellstheimageprocessingfunctiontocreateathumb.Rthumb_marker_thumbNoneSpecifiesthethumbnailindicator.Itwillbeinsertedjustbeforethefileextension,somypic.jpgwouldbecomemypic_thumb.jpgR这是我的代码$config_manip=arra

php - 在 Codeigniter 中从内部 View 调用 Controller 方法

有没有一种方法可以使用codeigniter从我们的View中调用Controller内部的方法。我知道这是一种不好的做法,但现在我强制这样做。谢谢 最佳答案 如果你想调用当前Controller的函数,你必须通过这种方式获取当前Controller的实例:your_method($param);?> 关于php-在Codeigniter中从内部View调用Controller方法,我们在StackOverflow上找到一个类似的问题: https://sta

php - CodeIgniter:如果我使用 die() 函数,则不会加载 View

我有以下代码。检查用户是否登录。当变量$is_logged_in未设置或为False时,我加载消息View。不幸的是,同时系统加载了受限的内容View。所以我使用了die()函数,现在只显示一个空白页面。如何才能在用户未登录时仅加载消息View?谢谢。if(!isset($is_logged_in)OR$is_logged_in==FALSE){$data['main_content']='not_logged_in';$data['data']='';$this->load->view('includes/template',$data);die();}